Scanner Access Now Easy
part 3/12 · 17.2 KB total
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
One consequence of this separation is that network scanning is easily implemented with no special handling in either the front ends or back ends. On a host with a scanner, the saned daemon runs and handles network requests. On client machines a "net" backend (driver) connects to the remote host to fetch the scanner options, and perform previews and scans. The saned daemon acts as a frontend locally, but simply passes requests and data between the network connections and the local scanner. Similarly, the "net" backend passes requests and data between the local frontend and the remote host.
Various types of unsupervised batch scanning are also possible with a minimum of support needed in the backend (driver). Many scanners support the attachment of document feeders which allow a large number of sheets of paper to be automatically scanned in succession. Using the SANE API, the frontend simply has to "play back" the same set of options for each scan, driving the document feed in between scans to load the next sheet of paper. The frontend only has to obtain the set of options from the user once.
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────